#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QX11Info>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    //函数的名称和实现都是按照dtk中复制，如实dtk项目生成的窗口可直接调用此函数
    xcb_atom_t internAtom(const char *name, bool only_if_exists = true);

    xcb_atom_t internAtom(xcb_connection_t *connection, const char *name, bool only_if_exists);

    /**
     * @brief sendWindowMove
     * @param WId   窗口ID，如果是qt创建的窗口，此处添加this->winID,
     *              如果是DTK窗口，此参数为父窗口ID（参考qt5platform-plugin源码实现）
     * @param globalPos 移动的目标位置信息
     * @param forhibit  禁止窗口移动，用于鼠标抬起等事件到来时使用
     */
    void sendWindowMove(quint32 WId, int desktop);


private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;

};

#endif // MAINWINDOW_H
